#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <string>
#include <filesystem>

using namespace std;

void generate_test(int test_num, int n, int m, int max_val) {
    string filename = "data/guess" + to_string(test_num) + ".in";
    freopen(filename.c_str(), "w", stdout);
    
    cout << n << " " << m << endl;
    
    // 生成序列
    for(int i = 0; i < n; i++) {
        cout << (rand() % (2 * max_val + 1)) - max_val << " ";
    }
    cout << endl;
    
    // 生成询问
    for(int i = 0; i < m; i++) {
        cout << rand() % n + 1 << endl;
    }
}

int main() {
    srand(time(0));
    
    // 创建data目录
    filesystem::create_directory("data");
    
    // 生成10组测试数据
    // 第1-3组：小规模数据
    generate_test(1, 10, 5, 50);
    generate_test(2, 8, 3, 30);
    generate_test(3, 5, 2, 20);
    
    // 第4-7组：中等规模数据
    generate_test(4, 100, 10, 1000);
    generate_test(5, 100, 20, 2000);
    generate_test(6, 100, 50, 5000);
    generate_test(7, 100, 100, 8000);
    
    // 第8-10组：大规模数据
    generate_test(8, 5000, 1000, 10000);
    generate_test(9, 8000, 5000, 10000);
    generate_test(10, 10000, 100000, 10000);
    
    generate_test(11, 10, 5, 50);
    generate_test(12, 100, 100, 100);
    generate_test(13, 10000, 100000, 10000);
    return 0;
} 